package edu.ds.vetxsoft.system;

import edu.ds.vetxsoft.dao.CiudadFacade;
import edu.ds.vetxsoft.dao.ClienteFacade;
import edu.ds.vetxsoft.dao.ControlFacade;
import edu.ds.vetxsoft.dao.DesparasitacionFacade;
import edu.ds.vetxsoft.dao.ProductoFacade;
import edu.ds.vetxsoft.dao.RazaFacade;
import edu.ds.vetxsoft.entity.Ciudad;
import edu.ds.vetxsoft.entity.Cliente;
import edu.ds.vetxsoft.entity.Control;
import edu.ds.vetxsoft.entity.Desparasitacion;
import edu.ds.vetxsoft.entity.Producto;
import edu.ds.vetxsoft.entity.Raza;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Singleton;

/**
 *
 * @author cuero
 */
@Singleton
public class SystemControl implements ISystemControl {

    @EJB
    private ClienteFacade clienteFacade;
    @EJB
    private CiudadFacade ciudadFacade;
    @EJB
    private ProductoFacade productoFacade;
    @EJB
    private DesparasitacionFacade desparasitacionFacade;
    @EJB
    private RazaFacade razaFacade;
    @EJB
    private ControlFacade controlFacade;

    @Override
    public void save(Cliente cliente) {

        clienteFacade.create(cliente);
    }

    @Override
    public List<Ciudad> getCiudades() {

        return ciudadFacade.findAll();
    }

    @Override
    public Cliente findCliente(String id) {
        return this.clienteFacade.find(id);
    }

    @Override
    public Producto findProducto(String codPdto) {
        return this.productoFacade.find(codPdto);
    }

    @Override
    public void saveDesparacitacion(Desparasitacion d) {
        this.desparasitacionFacade.create(d);
    }

    @Override
    public List<Raza> getRazas() {
        return this.razaFacade.findAll();
    }

    @Override
    public void saveControl(Control c) {
        this.controlFacade.create(c);
    }

    @Override
    public Ciudad findCiudad(String value) {
        return ciudadFacade.find(value);
    }

    @Override
    public void save(Ciudad ciudad) {
        this.ciudadFacade.create(ciudad);
    }

    @Override
    public List<Cliente> getClientes() {
        return clienteFacade.findAll();
    }
}
